package 杨辉三角;

import java.util.ArrayList;
import java.util.List;

public class Solution {
    public List<List<Integer>> generate(int numrows){
        //定义一个二维数组
        List<List<Integer>> ret = new ArrayList<>();//二位数组

        List<Integer> list =new ArrayList<>();
        list.add(1);

        ret.add(list);
        for (int i = 1; i <numrows ; i++) {
            List<Integer> curRow =new ArrayList<>();
            curRow.add(1);//每行第一个元素

            //处理中间元素
            List<Integer> prevRow = ret.get(i-1);//获取上一列
            for(int j=1;j<i;j++){
                int x = prevRow.get(j)+prevRow.get(j-1);
                curRow.add(x);
            }

            //处理最后一个数字
            curRow.add(1);

            ret.add(curRow);

        }
        return ret;
    }


}
